AI到底聰明起在哪從手機人臉識別說
但這些方法都撞上了同一堵牆:需要人類告訴電腦什麽是"眼睛"、
電腦眼中的照片
要理解手機怎麽"人臉識別" ,花了大約 5-6 天,机人但正確答案是脸识"狗" 。就是别说"深度學習"。在人臉識別領域常用的到底測試集 LFW(Labeled Faces in the Wild,斯坦福大學的聪明从手李飛飛教授團隊發布了 ImageNet 數據集。叫神經網絡 。机人然後全部加起來。脸识至今已經用了半個多世紀。别说檢測器提取出來的到底數字指紋和你錄入時的差太遠了 。算法改進——同時到位,聪明从手然後全部相加:(10×-1) + (10×0) + (10×1) +(10×-2) + (10×0) + (200×2) +(10×-1) + (200×0) + (200×1)= -10 + 0 + 10 + -20 + 0 + 400 + -10 + 0 + 200= 570
結果是机人 570,一個很大的脸识正數。第三層找五官部件,别说找到了邊緣 ,後續文章也會持續更新 。無數種角度、不過你不需要把這個類比想得太深——它隻是一種"層層傳遞、直到一個想法改變了一切:
不要人類來設計檢測器 ,
所以當你拿手機對著自己的臉,這可能要算好幾個月甚至幾年 。用它來學習的方法 ,檢測更複雜的東西。它隻是在做加減乘除:把像素變成邊緣 ,別擔心 ,
從邊緣到形狀:AI 卡了幾十年
找到邊緣之後呢?
1968 年的 Sobel 算子能找到邊緣 ,結果的數字越大(不管是正還是負),幾千萬個參數反複做計算。但永遠覆蓋不了真實世界的複雜性。處理一下 、比如 ,怎麽可能認出一張臉 ?
第一個線索:邊緣
什麽是邊緣 ?就是照片裏顏色突然變化的地方。一個管上下——就能找到圖片中任意方向的邊緣。
有的變成了邊緣檢測器(類似 Sobel 算子——電腦自己"發明"了類似的東西) 。是數字。
而關鍵是 :每一層的檢測器裏的數字 ,你就找到了輪廓 、旗艦模型超過 1 億個參數,什麽是"眼睛",你拿起手機 ,所以選擇了這樣的數字組合 。把所有檢測器發現的信息都匯集在一起,AI 為什麽能通過律師考試卻會一本正經地撒謊。
不過你可能發現了 ,所以這幾層叫"卷積層")。
但文字呢 ?
當你對 ChatGPT 說"蘋果",右邊一列全是正數 ,突然有人考了 85 分。
- 如果上下顏色一樣——結果是 0(沒有水平邊緣)
- 如果下麵比上麵亮——結果是正數(有一條水平邊緣)
兩個檢測器配合使用——一個管左右,

每個像素都有一個顏色 ,接近白色) 。但疊加四五層之後 ,200 是亮色(接近白色)。
讓我一步一步算給你看:
圖片: 檢測器:10 10 10 -1 0 110 10 200 -2 0 210 200 200 -1 0 1對應位置相乘 ,而是把它們變成"空的"——可以填入任何數值
:? ? ?? ? ?? ? ?
一開始 ,
這就是電腦"看"圖片的第一步:找到所有顏色突變的位置
。每一張都要把所有參數調整一遍。叫做反向傳播——1986 年由 Rumelhart、
一個人的臉可以有無數種表情、其中前 5 層做的就是我們前麵演示的操作——用檢測器在圖片上滑動
、
這需要大量的計算。
那為什麽到 2012 年才突然成功?
因為三個條件終於同時湊齊了:
1. 數據
2009 年,李飛飛團隊通過亞馬遜的眾包平台(一種把任務拆成小塊
、數字大的地方
,為什麽沒有更早實現?
事實上,下麵有一條橫線 ,我後麵會專門講。鼻子(一個三角形輪廓)
、結果是正數(有一條從暗到亮的邊緣)
如果左邊比右邊亮——負數那邊貢獻更大
,這也是邊緣。
每天早上,我們來聊這個問題
。
-1 0 1-2 0 2-1 0 1
當它掃描圖片的一個區域時
,就叫"深度神經網絡" ,得先回答一個基本問題:電腦看到的"照片"長什麽樣?
一張照片是由很多個小點組成的
,
現在我用一個"檢測器"來掃描它。8 層網絡
,哪怕是一條 45° 的斜線 ,其餘全是 0(暗)
。讓電腦自己學 。
但電腦隻看到數字啊,沒有邊緣 。
實際使用時,它就是這樣一張表格:
0 0 200 0 0 0 0 200 0 0200 200 200 200 200 0 0 200 0 0 0 0 200 0 0
0 是黑色,而是有一套精巧的方法能算出每個數字該往大了調還是往小了調
。讓檢測器學會了隻靠眼睛和眉毛區域的特征來識別你
。算出每一個數字對這個錯誤的"貢獻"有多大。而是它從大量的對錯反饋中
,表情——這些讓一張臉變得獨特的要素。但眼睛、背景可能是深色的,發表於 Nature
ImageNet: A Large-Scale Hierarchical Image Database - Deng, Dong, Socher, Li, Li, Fei-Fei (2009) — ImageNet 數據集論文 ,層層疊加 提取特征 :最後一層輸出一組數字——你可以把它理解為你這張臉的"數字指紋"(專業術語叫"特征向量",之所以叫這個名字,5 次都猜錯才算錯)——領先超過 10 個百分點。需要給電腦看幾百萬張人臉照片,3. 算法
AlexNet 還用了幾個關鍵的技術改進。
科學家們嚐試了很多方法:
- 有人試著寫規則 :"如果有兩個圓形在上麵 ,為什麽這幾個數字能檢測邊緣?先看看它怎麽用
,GPU 算力、本質上就是
:右邊的亮度 - 左邊的亮度。超過 1400 萬張標注圖片
- The data that transformed AI research — and possibly the world - Quartz — ImageNet 的建設過程,人類知道"要檢測垂直邊緣,什麽是"眼睛" 。它自己發現了"檢測邊緣有助於區分貓和狗" 。說明邊緣越明顯。從左到右顏色在變亮 。而今天的大型模型 ,
有的變成了紋理檢測器。這就是電腦"看到"的東西。AlexNet 的 6000 萬個參數震驚了整個計算機視覺領域。

這就是 AI 在"看"這件事上卡住了幾十年的地方。第一層隻能看到線條
,看一眼屏幕,等於什麽?
參考資料
- Sobel operator - Wikipedia — Sobel 算子由 Irwin Sobel 和 Gary Feldman 於 1968 年在斯坦福人工智能實驗室提出
- A logical calculus of the ideas immanent in nervous activity - McCulloch & Pitts (1943) — 第一個神經元數學模型,遊戲畫麵需要同時計算屏幕上幾百萬個像素的顏色,

這個類比最早來自 1943 年 McCulloch 和 Pitts 的論文,一張 1000×1000 的照片
,保持
- 如果猜錯了——調整那 9 個數字 ,動輒幾十層、歡迎分享+關注 。中間有一條從左上到右下的分界線——這就是一條邊緣。但對所有數字同時做這種微調,下巴這些區域的麵部特征被口罩擋住了,
訓練
:電腦怎麽知道該往哪調?
你可能還記得前麵留下的那個問題:猜錯的時候,
一個邊緣檢測器隻能告訴你"這裏有一條線" ,這個檢測器也是 9 個數字:
-1 0 1-2 0 2-1 0 1
這個檢測器有個名字,是為了讓檢測器更關注正中間一行的變化,
一個新的問題
理解了 AI 怎麽"認人"之後
,斜線、到達一個"很少出錯"的狀態
。從互聯網上收集的真實場景人臉照片,越大越亮
。就能看到"臉"了。
反向傳播做的事情是 :從最後的錯誤出發,
一道簡單的數學題
假設我們有一小塊圖片,判斷"這是不是主人的臉"。中間一行全是 0。
假設電腦要判斷一張圖是貓還是狗 。
讓我用一個具體例子來演示。上百層 ,經過層層計算,

- 如果左右兩邊顏色一樣——正數和負數互相抵消
,
重複這個過程幾百萬次。為了建成 ImageNet,
那些檢測器裏的數字,
疊加:從線條到人臉
但一層檢測器還不夠。手機"看到"的是這樣的東西 :
142 98 87 134 156 178 ... 78 45 52 89 123 145 ...134 167 189 201 178 156 ...... (幾百萬個數字)
手機要做的事情是:看這幾百萬個數字,
而訓練神經網絡恰好也是這種活——對幾百萬個數字做大量簡單的乘法和加法。
手機不知道什麽是眼睛
、
順便說一下這個檢測器的來曆:Sobel 算子是 1968 年由 Irwin Sobel 和 Gary Feldman 在斯坦福人工智能實驗室的一次演講中提出的,是因為它的工作方式有點像人腦中的神經元——每個神經元接收信號 、中間的灰色就是 1 到 254。這個檢測器會在整張圖片上一格一格地滑動,
三個條件——海量數據 、但應該是 0%。所謂檢測器 ,
讓我用一個簡化的例子來說明。一堆線條還不能告訴我們"這是一張臉"。變成了"這個位置有沒有邊緣"的數字。現在你隻需要知道:電腦有辦法算出調整的方向和幅度。為什麽?
先別急著回答
。錯了多少?差了很多——它說 60% 是貓,綠色
、隻用加減乘除 ,
一個現代的人臉識別模型可能有幾百萬到上億個參數
。綜合判斷最終結果) 。但核心識別原理——把采集到的數據變成數字 、貓臉
、測量臉的立體形狀 ,反向傳播算法在 1986 年就發表了。眼睛也是 :眼白是淺色的,也就是你臉的輪廓
。
2012 年的突破用了一個聰明的辦法
:用遊戲顯卡(GPU,GPU 訓練神經網絡比 CPU 快約 70 倍。就無法判斷對錯,要理解這件事,變成幾百萬個數字(說明一下:現代手機的人臉解鎖不隻靠普通攝像頭——比如 iPhone 的 Face ID 會用紅外線在你臉上投射上萬個不可見的小點,分別表示紅色、當時售價 499 美元)
,這個方法叫"反向傳播" ,
這就是"訓練"。就能檢測出圖片裏有沒有某種特征
。參數量更是以億計
。訓練這樣一個模型,數字越小越暗,
電腦用隨機檢測器算出一個結果,而顏色在電腦裏是用數字表示的。讓下次更可能猜對
怎麽調整?不是隨機亂調,
彩色照片稍微複雜一點
:每個像素需要三個數字
,
仔細看這個檢測器的結構
:左邊一列全是負數,打個比方 :所有人都在 74 分左右競爭,你能看出來這是一個十字形嗎
?——中間一橫一豎的數字是 200(亮),結果是負數(有一條從亮到暗的邊緣)
差異越大,它"看到"的是什麽 ?不是一個水果的畫麵,
2. 算力
訓練一個模型
,一個三角形在中間
,涵蓋 2 萬多個類別
。三角形 、這就形成了一條邊緣,讓檢測結果更穩定。不是圖像
,什麽是"鼻子"。
那次突破有多震撼
?在 ImageNet 圖像識別比賽中,兩個檢測器都會給出非零結果 。你很快就會明白 。就是一串能代表你長相特征的數字)
比較:把這個數字指紋和你第一次錄入時存下的數字指紋做比較 判斷:如果兩組數字足夠接近——解鎖 整個過程沒有任何"理解"。Graphics Processing Unit,
就像考試之後對答案
:
- 最終結果錯了
- 是因為最後一步的某個數字偏了
- 那個數字偏了,會自己變成有意義的檢測器。

反哺之情網